Component-Based Description of Programming Languages
نویسنده
چکیده
Research in formal description of programming languages over the past four decades has led to some significant achievements. These include formal syntax and semantics for complete major programming languages, and theoretical foundations for novel features that might be included in future languages. Nevertheless, to give a completely formal, validated description of any significant programming language using the conventional frameworks remains an immense effort, disproportionate to its perceived benefits. Our diagnosis of the causes of this disappointing situation highlights two major deficiencies in the pragmatic aspects of formal language descriptions in conventional frameworks: lack of reusable components, and poor tool support. Part of the proposed remedy is a radical shift to a novel component-based paradigm for the development of complete language descriptions, based on simple interfaces between descriptions of syntactic and semantic aspects, and employing frameworks that allow independent description of individual programming constructs. The introduction of a language-independent notation for common programming constructs maximises the reusability of components. Tool support for component-based language description is being developed using the ASF+SDF MetaEnvironment; the aim is to provide an efficient component-based workbench for use in design and implementation of future programming languages, accompanied by an online repository for validated formal descriptions of programming constructs and languages.
منابع مشابه
Extending Architecture Description Languages With Exchangeable Component Behavior Languages
Architecture description languages (ADLs) encapsulate domain concerns in components. Most ADLs enforce domain experts to use general purpose programming languages (GPLs) or an especially designed, fixed component behavior language. Domain-specific languages (DSLs), on the other hand, aim to reduce the conceptual gap between problem domain challenges and GPL solutions. Current ADLs focus on soft...
متن کاملHeDLa: A Strongly Typed, Component-Based Embedded Hardware Description Language
Over the past years, various techniques for the embedding of hardware description languages within general purpose languages have been developed and explored. In particular, numerous HDLs embedded in strongly typed functional languages have been developed and used for different applications. A common trait of most of these languages is that they treat hardware components as functions or relatio...
متن کاملMeta Architecting: Toward a New Generation of Architecture Description Languages
The techniques of meta-modeling and meta-levels have become a mature concept and have been largely used to solve real problems in programming languages, distributed environments, knowledge representation, or data bases. In this article it is shown how the same techniques can be applied in component-based software architecture. It also shown the need to propose mechanisms of reflexivity within t...
متن کاملMeta Architecting: Towered a New Generation of Architecture Description Languages
The techniques of meta-modeling and meta-levels have become a mature concept and have been largely used to solve real problems in programming languages, distributed environments, knowledge representation, or data bases. In this article it is shown how the same techniques can be applied in component-based software architecture. It also shown the need to propose mechanisms of reflexivity within t...
متن کاملArchitectural Programming with MontiArcAutomaton
Modeling software architectures usually requires programming the behavior of components interfacing general programming language (GPL) libraries. This raises a gap between modeling activities and programming activities that entails switching between both activities, which requires considerable effort. Current research on architecture description languages (ADLs) focuses on employing state-based...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008